package com.ccp.dev.system.dao;

import com.ccp.dev.core.basic.web.query.QueryFilter;
import com.ccp.dev.system.model.ColumnInfo;
import com.ccp.dev.system.model.TableInfo;

import java.util.List;

/**
 * @Author: dfz
 * @Date: 2019/5/16 14:07
 * @Description:代码生成 数据层
 */
public interface GeneratorDao
{
    /**
     * 查询数据库表信息
     * 
     * @param queryFilter  查询信息
     * @return 数据库表列表
     */
    public List<TableInfo> queryList(QueryFilter queryFilter);

    /**
     * 根据表名称查询信息
     * 
     * @param tableName 表名称
     * @return 表信息
     */
    public TableInfo getTableByName(String tableName);

    /**
     * 根据表名称查询列信息
     * 
     * @param tableName 表名称
     * @return 列信息
     */
    public List<ColumnInfo> getTableColumnsByName(String tableName);

    /**
     * 根据表信息查询约束列
     * @param table 表名称
     * @return
     */
    public ColumnInfo getTableColumnKeyByTableName(TableInfo table);


    /**
     *
     * 功能描述: 查询表字段信息（带分页）
     *
     * @param:
     * @return: 返回查询到的表字段信息
     * @auther: dfz
     * @date: 2019/5/22 16:49
     */
    public  List<ColumnInfo> queryCols(QueryFilter queryFilter);
}
